
#include <stack>
class EulerOperator;


class UndoRedo
{

public:

  bool hasUndo();
  bool hasRedo();
  void insertCommand(EulerOperator* _command);
  void undo(int levels = 1);
  void redo(int levels = 1);

private:
  std::stack<EulerOperator*> m_undocommands;
  std::stack<EulerOperator*> m_redocommands;

};
